package com.arpa.wms.service;

import com.arpa.wms.domain.dto.SplitOrderDTO;
import com.arpa.wms.domain.vo.DeliverySplitOrderVo;
import com.arpa.wms.domain.vo.SplitOrderVO;

import java.util.List;

/**
 * 订单拆单
 * @author liuxr
 * @date 2021/12/23 16:45
 */
public interface SplitOrderService {
    /**
     * 根据运单号获取订单信息
     * @author liuxr
     * @date 2021/12/23 16:46
     * @param code
     * @return com.arpa.wms.domain.vo.DeliverySplitOrderVo
     */
    DeliverySplitOrderVo getDeliverySplitOrderVoByWaybillCode(String code);

    /**
     * 拆分
     * @author liuxr
     * @date 2021/12/23 17:25
     * @param code
     */
    void split(String code,Integer splitPackageNum);

    /**
     * 查询列表
     * @param splitOrderDTO
     * @return
     */
    List<SplitOrderVO> queryList(SplitOrderDTO splitOrderDTO);

    /**
     * 查询合计,包含总数
     * @param splitOrderDTO
     * @return
     */
    SplitOrderVO queryListSum(SplitOrderDTO splitOrderDTO);

    /**
     * 打印拆单运单
     * @author rfwang
     * @date 2022/1/12 16:46
     * @param splitOrderDTO
     */
    List<SplitOrderVO> printSplitExpress(SplitOrderDTO splitOrderDTO);
}
